home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 20
/
Cream of the Crop 20 (Terry Blount) (1996).iso
/
compress
/
rjcru110.zip
/
RJCRUSH.DOC
< prev
next >
Wrap
Text File
|
1996-05-05
|
46KB
|
1,198 lines
██████████████▄▄▀███████▀▄▄██▄▄ ████ ███ ███
███▀▀▀▀▀▀▀▀▀▀▀███ █████ ███▀▀███ ████ ███ ███
███ ███ ███ ███ ▀▀▀ ████ ███ ███
███ ███ ███ ███ ▄█████████████████████████████▄ ███ ███
███ ▄▄▄▄▄▄███ ███ ███ ▄▄▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄ ███▄▄▄▄███
███ ▄████████▀▀ ███ ███ ███▀▀██▄ ███ ███ ▄███▀▀███▄ ██████████
███ ▄██▀ ███ ███ ███ ███ ███ ███ ▀██▄ ███ ███
███ ███ ███ ███ ███▄▄██▀ ███ ███ ▀▀██▄▄ ███ ███
███ ▀██▄ ▄██▀ ▀██▄ ▄██▀ ███▀▀██▄ ███ ███ ▀██▄ ███ ███
███ ▀██████████████▀ ▀██████▀ ███ ███ ▀███▄▄███▀ ▀███▄▄███▀ ███ ███
▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ▀▀ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀ ▀▀▀
Version 1.10
by
Roland Skinner
Copyright (c) 1994, 1996
RJS Software
TABLE OF CONTENTS
1. INTRODUCTION............................................2
1.1 What is RJCRUSH?...................................2
1.2 What's New in RJCRUSH?.............................3
1.3 RJCRUSH in a Windows World.........................4
1.4 How to Use This Manual.............................4
2. REQUIREMENTS AND INSTALLATION...........................6
2.1 System Requirements................................6
2.2 Installing RJCRUSH.................................6
2.3 Environment Variables..............................6
3. COMPRESSING EXECUTABLES.................................8
3.1 RJCRUSH with No Parameters.........................8
3.2 Specifying Executable to Compress..................8
3.3 Verbose Output.....................................8
3.4 Disable Backup File Creation.......................9
4. COMPRESSING OVERLAYS...................................10
4.1 Making your Programs Aware of Compressed Overlays.10
4.1.1 Changes Required to Program Source Code.....10
4.1.1.1 Changes to the Uses-Clause............11
4.1.1.2 Changes to the Overlay-Initialisation
Code..................................11
4.1.2 Making a MAP-File Available.................12
4.2 Speed Issues......................................13
5. COMPATIBILITY PROBLEMS.................................14
5.1 Problems with other Overlay Enhancements..........14
5.2 Problems with Particular Executables..............14
6. ACKNOWLEDGEMENTS.......................................15
7. REGISTRATION AND CORRESPONDENCE........................16
7.1 RJCRUSH is Shareware..............................16
7.2 DISCLAIMER........................................17
7.3 Contacting RJS Software and the Author............18
1
_1_._ _I_N_T_R_O_D_U_C_T_I_O_N
Thank you for using RJCRUSH.
This is the second public release of RJCRUSH. RJCRUSH
was designed and written in 1994. It had been under
extensive beta-testing for over a year, to ensure it
worked, and that it worked properly, and this fairly
unique software was finally released in October of 1995.
RJCRUSH is the result of a number of years of dabbling
with data-compression, and the need for a good
executable program compressor. Having played with a
number of the currently available executable compression
packages, the conclusion was drawn that something was
lacking in all of them: they lacked the ability to
handle overlays.
Sure, the documentation that comes with many executable
compressors often purports that these compressors
support overlays, but what this usually means is that
that particular software detects that there is an
overlay in an executable, and will not compress it. In
fact, it is doubtful that any previous executable
compressors compressed the overlays of one's
executables. There is software available, such as
Microsoft's DriveSpace and Stac's Stacker, that
compresses everything on a particular drive, but nothing
that creates a "contained" unit that is compressed,
irrespective of whether the drive it is installed on is
compressed or not. Now there is such a piece of
software; it's called RJCRUSH.
_1_._1_ _W_h_a_t_ _i_s_ _R_J_C_R_U_S_H_?
RJCRUSH is an executable compressor with the ability to
compress overlays. RJCRUSH only supports EXE-files; it
is the author's opinion that EXE-files are superior to
COM-files. The ability to compress overlays is aimed at
the developer-level. Without having the source code to a
program, an attempt to make it aware of compressed
overlays would be futile.
RJCRUSH supports the VROOMM overlay engine of Borland
International. Currently, only the Turbo and Borland
Pascal compilers are supported; versions 5.5 through 7.0
are supported. Once the overlay engine of Borland C++
has been investigated, and the correct point from where
to patch in to the engine has been identified, RJCRUSH
will support that compiler. (At this point in time the
author has very little time for such an endeavour, due
to time constraints imposed by his MSc research. If the
need arises, and is large enough, this will become a
priority.)
2
Even though RJCRUSH is primarily aimed at the developer,
users may also benefit by using RJCRUSH. Compared with
the end-results of many competing executable
compressors, RJCRUSH often creates smaller executables.
RJCRUSH is based on an LZ77 compression technique and
utilises a superior two-pass executable relocation table
compression technique. This technique involves an
initial transformation of the relocation table into a
form that is more suitable to compression by the
LZ77-based compression algorithm. The end-result is far
smaller executables - often by as much as a few 100
bytes.
The overlay compression algorithm is similar to that
used for executables, except that it performs extra
checks to ensure safe decompression during the run-time
of the application.
One reason for the development of RJCRUSH was to give
authors - especially those who market their software in
the form of shareware - the ability to place their
special integrity checking in overlaid code. Often,
programs that perform such checks have